package com.abby.time;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class TimeDemo {
    private static Date date = new Date();
    public static void main(String[] args) {
        timeUtilDemo();
        System.out.println();
        dateFormatDemo();
        System.out.println();
        dateOperation();
    }

    /**
     * time util demo
     * 时间工具类演示
     */
    private static void timeUtilDemo(){
        //get year of date
        //获取当前的年份
        System.out.println(String.format("当前的年份是： %s年",TimeUtil.getPartOfTheDay(date,TimeFormat.YEAR)));

        //get month of date
        //获取当前月份
        System.out.println(String.format("当前的月份是： %s月",TimeUtil.getPartOfTheDay(date,TimeFormat.MONTH)));

        //get day of date
        //获取当前日期
        System.out.println(String.format("当前的日期是： %s日",TimeUtil.getPartOfTheDay(date,TimeFormat.DATE)));

        //get season of date
        //获取季度
        System.out.println(String.format("当前的季节是： %s",TimeUtil.getSeasonOfYear(date)));

        //get week of data
        //获取星期
        System.out.println(String.format("当前的星期是： %s",TimeUtil.getPartOfTheDay(date,TimeFormat.WEEK)));

        //get day of year
        //获取当前是一年中的哪一天
        System.out.println(String.format("当前是一年中的第%d天",TimeUtil.getDayOfYear(date)));
    }

    /**
     * date formatting demo
     * 时间格式化演示
     */
    private static void dateFormatDemo(){
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
        System.out.println("年月日格式：");
        System.out.println(simpleDateFormat.format(date));
        simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("年月日时分秒格式：");
        System.out.println(simpleDateFormat.format(date));
    }

    /**
     * date operation demo
     * 日期操作演示
     */
    private static void dateOperation(){
        Calendar calendar=Calendar.getInstance();

        calendar.setTime(date);
        System.out.println(String.format("当前时间是: %s",calendar.getTime().toString()));
        calendar.add(Calendar.HOUR_OF_DAY,10);
        System.out.println(String.format("加10个小时后是： %s",calendar.getTime().toString()));
        calendar.setTime(date);
        calendar.add(Calendar.DAY_OF_MONTH,10);
        System.out.println(String.format("加10天后是： %s",calendar.getTime().toString()));
        calendar.setTime(date);
        calendar.add(Calendar.MONTH,5);
        System.out.println(String.format("加5个月后是: %s",calendar.getTime().toString()));
    }
}
